<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Float Algorithm Performance</title>
<link rel="stylesheet" href="../../multiprecision.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="int_real_world.html" title="Integer Real World Tests">
<link rel="next" href="integer_performance.html" title="Integer Algorithm Performance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="int_real_world.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integer_performance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.perf.float_performance"></a><a class="link" href="float_performance.html" title="Float Algorithm Performance">Float Algorithm
      Performance</a>
</h3></div></div></div>
<p>
        Note that these tests are carefully designed to test performance of the underlying
        algorithms and not memory allocation or variable copying. As usual, performance
        results should be taken with a healthy dose of scepticism, and real-world
        performance may vary widely depending upon the specifics of the program.
        In each table relative times are given first, with the best performer given
        a score of 1. Total actual times are given in brackets, measured in seconds
        for 500000 operations.
      </p>
<div class="table">
<a name="boost_multiprecision.perf.float_performance.operator"></a><p class="title"><b>Table 1.18. Operator *</b></p>
<div class="table-contents"><table class="table" summary="Operator *">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  4.30817 (0.0408401s)
                </p>
              </td>
<td>
                <p>
                  1.75015 (0.0653409s)
                </p>
              </td>
<td>
                <p>
                  2.16485 (0.597984s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  3.35696 (0.031823s)
                </p>
              </td>
<td>
                <p>
                  1.77364 (0.0662176s)
                </p>
              </td>
<td>
                <p>
                  1.74752 (0.482708s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  2.01455 (0.0190973s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0373344s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.276224s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00947969s)
                </p>
              </td>
<td>
                <p>
                  1.21316 (0.0452924s)
                </p>
              </td>
<td>
                <p>
                  2.13364 (0.589363s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_int"></a><p class="title"><b>Table 1.19. Operator *(int)</b></p>
<div class="table-contents"><table class="table" summary="Operator *(int)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  2.98031 (0.0223518s)
                </p>
              </td>
<td>
                <p>
                  4.27803 (0.0313689s)
                </p>
              </td>
<td>
                <p>
                  4.54817 (0.0632425s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  4.25141 (0.0318849s)
                </p>
              </td>
<td>
                <p>
                  7.59768 (0.0557104s)
                </p>
              </td>
<td>
                <p>
                  33.1653 (0.461166s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00749984s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00733255s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0139051s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  2.98089 (0.0223562s)
                </p>
              </td>
<td>
                <p>
                  3.32286 (0.0243651s)
                </p>
              </td>
<td>
                <p>
                  3.7808 (0.0525722s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long"></a><p class="title"><b>Table 1.20. Operator *(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator *(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  3.38766 (0.0235916s)
                </p>
              </td>
<td>
                <p>
                  5.87158 (0.0423397s)
                </p>
              </td>
<td>
                <p>
                  5.05723 (0.0709145s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  5.0049 (0.0348541s)
                </p>
              </td>
<td>
                <p>
                  8.47648 (0.0611235s)
                </p>
              </td>
<td>
                <p>
                  32.4907 (0.455598s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00696399s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00721095s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0140224s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  3.03806 (0.0211571s)
                </p>
              </td>
<td>
                <p>
                  3.50941 (0.0253062s)
                </p>
              </td>
<td>
                <p>
                  3.44633 (0.0483258s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long0"></a><p class="title"><b>Table 1.21. Operator *=(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator *=(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  1.56351 (0.0230891s)
                </p>
              </td>
<td>
                <p>
                  2.0073 (0.031993s)
                </p>
              </td>
<td>
                <p>
                  3.62925 (0.0772075s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  2.55656 (0.0377542s)
                </p>
              </td>
<td>
                <p>
                  4.10056 (0.0653562s)
                </p>
              </td>
<td>
                <p>
                  21.6642 (0.460876s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0147675s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0159383s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0212737s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  2.23026 (0.0329355s)
                </p>
              </td>
<td>
                <p>
                  2.40387 (0.0383137s)
                </p>
              </td>
<td>
                <p>
                  2.64077 (0.0561789s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator0"></a><p class="title"><b>Table 1.22. Operator +</b></p>
<div class="table-contents"><table class="table" summary="Operator +">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  3.91168 (0.0381834s)
                </p>
              </td>
<td>
                <p>
                  4.16297 (0.0642049s)
                </p>
              </td>
<td>
                <p>
                  4.90051 (0.102092s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  2.23696 (0.0218359s)
                </p>
              </td>
<td>
                <p>
                  1.69854 (0.0261964s)
                </p>
              </td>
<td>
                <p>
                  6.06882 (0.126431s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  1.50164 (0.0146581s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0154229s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0208329s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0097614s)
                </p>
              </td>
<td>
                <p>
                  1.21982 (0.0188131s)
                </p>
              </td>
<td>
                <p>
                  1.81579 (0.0378282s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_int0"></a><p class="title"><b>Table 1.23. Operator +(int)</b></p>
<div class="table-contents"><table class="table" summary="Operator +(int)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  5.27328 (0.0381889s)
                </p>
              </td>
<td>
                <p>
                  6.85509 (0.0518618s)
                </p>
              </td>
<td>
                <p>
                  10.4988 (0.104875s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  3.50749 (0.0254011s)
                </p>
              </td>
<td>
                <p>
                  4.07503 (0.0308294s)
                </p>
              </td>
<td>
                <p>
                  12.8481 (0.128342s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00724196s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00756543s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00998923s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  4.51538 (0.0327002s)
                </p>
              </td>
<td>
                <p>
                  4.54647 (0.034396s)
                </p>
              </td>
<td>
                <p>
                  5.25239 (0.0524673s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long1"></a><p class="title"><b>Table 1.24. Operator +(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator +(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  5.93334 (0.044578s)
                </p>
              </td>
<td>
                <p>
                  9.73575 (0.0758362s)
                </p>
              </td>
<td>
                <p>
                  11.0837 (0.112203s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  3.99501 (0.030015s)
                </p>
              </td>
<td>
                <p>
                  4.07581 (0.0317483s)
                </p>
              </td>
<td>
                <p>
                  9.33811 (0.0945316s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00751313s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00778945s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0101232s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  4.28797 (0.0322161s)
                </p>
              </td>
<td>
                <p>
                  4.83393 (0.0376537s)
                </p>
              </td>
<td>
                <p>
                  5.2035 (0.052676s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long2"></a><p class="title"><b>Table 1.25. Operator +=(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator +=(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  2.97171 (0.045722s)
                </p>
              </td>
<td>
                <p>
                  3.78495 (0.0640784s)
                </p>
              </td>
<td>
                <p>
                  5.16221 (0.117755s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  1.93543 (0.0297781s)
                </p>
              </td>
<td>
                <p>
                  3.12436 (0.0528949s)
                </p>
              </td>
<td>
                <p>
                  4.83179 (0.110218s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0153858s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0169298s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.022811s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  3.42442 (0.0526874s)
                </p>
              </td>
<td>
                <p>
                  3.32428 (0.0562794s)
                </p>
              </td>
<td>
                <p>
                  3.25356 (0.0742172s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator1"></a><p class="title"><b>Table 1.26. Operator -</b></p>
<div class="table-contents"><table class="table" summary="Operator -">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  4.15367 (0.0409089s)
                </p>
              </td>
<td>
                <p>
                  2.64914 (0.0485095s)
                </p>
              </td>
<td>
                <p>
                  4.23345 (0.103383s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  2.29639 (0.0226168s)
                </p>
              </td>
<td>
                <p>
                  1.72571 (0.0316003s)
                </p>
              </td>
<td>
                <p>
                  8.13523 (0.198666s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  1.77498 (0.0174816s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0183114s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0244205s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00984886s)
                </p>
              </td>
<td>
                <p>
                  1.02493 (0.0187679s)
                </p>
              </td>
<td>
                <p>
                  1.56348 (0.0381809s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_int1"></a><p class="title"><b>Table 1.27. Operator -(int)</b></p>
<div class="table-contents"><table class="table" summary="Operator -(int)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  2.32581 (0.0423205s)
                </p>
              </td>
<td>
                <p>
                  2.99906 (0.0550403s)
                </p>
              </td>
<td>
                <p>
                  4.83118 (0.105425s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  1.90239 (0.0346161s)
                </p>
              </td>
<td>
                <p>
                  2.19948 (0.0403659s)
                </p>
              </td>
<td>
                <p>
                  5.37782 (0.117354s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0181961s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0183525s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0218218s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  2.30468 (0.041936s)
                </p>
              </td>
<td>
                <p>
                  2.36758 (0.043451s)
                </p>
              </td>
<td>
                <p>
                  2.94644 (0.0642965s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long3"></a><p class="title"><b>Table 1.28. Operator -(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator -(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  3.256 (0.057902s)
                </p>
              </td>
<td>
                <p>
                  4.0869 (0.075218s)
                </p>
              </td>
<td>
                <p>
                  5.533 (0.116255s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  2.20586 (0.0392273s)
                </p>
              </td>
<td>
                <p>
                  1.80053 (0.0331383s)
                </p>
              </td>
<td>
                <p>
                  4.29622 (0.0902684s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0177832s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0184047s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0210111s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  2.51778 (0.0447741s)
                </p>
              </td>
<td>
                <p>
                  2.70809 (0.0498416s)
                </p>
              </td>
<td>
                <p>
                  3.44152 (0.0723102s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long4"></a><p class="title"><b>Table 1.29. Operator -=(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator -=(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  1.95294 (0.0470344s)
                </p>
              </td>
<td>
                <p>
                  2.41267 (0.0618181s)
                </p>
              </td>
<td>
                <p>
                  4.10529 (0.124911s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  1.22584 (0.029523s)
                </p>
              </td>
<td>
                <p>
                  1.42773 (0.0365817s)
                </p>
              </td>
<td>
                <p>
                  3.11172 (0.0946795s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0240839s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0256223s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0304267s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  2.41227 (0.0580968s)
                </p>
              </td>
<td>
                <p>
                  2.55229 (0.0653955s)
                </p>
              </td>
<td>
                <p>
                  2.75369 (0.0837856s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator2"></a><p class="title"><b>Table 1.30. Operator /</b></p>
<div class="table-contents"><table class="table" summary="Operator /">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  4.03031 (0.472005s)
                </p>
              </td>
<td>
                <p>
                  7.46615 (1.06338s)
                </p>
              </td>
<td>
                <p>
                  13.3123 (5.3577s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  4.96983 (0.582036s)
                </p>
              </td>
<td>
                <p>
                  7.16767 (1.02087s)
                </p>
              </td>
<td>
                <p>
                  14.7936 (5.95388s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.117114s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.142427s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.402463s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  1.70874 (0.200117s)
                </p>
              </td>
<td>
                <p>
                  1.79749 (0.256012s)
                </p>
              </td>
<td>
                <p>
                  3.50914 (1.4123s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_int2"></a><p class="title"><b>Table 1.31. Operator /(int)</b></p>
<div class="table-contents"><table class="table" summary="Operator /(int)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  4.81369 (0.0938506s)
                </p>
              </td>
<td>
                <p>
                  7.27806 (0.162749s)
                </p>
              </td>
<td>
                <p>
                  9.67195 (0.551804s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  15.0254 (0.292944s)
                </p>
              </td>
<td>
                <p>
                  21.5761 (0.482477s)
                </p>
              </td>
<td>
                <p>
                  51.7469 (2.95226s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0194966s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0223617s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0570519s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  1.38183 (0.0269409s)
                </p>
              </td>
<td>
                <p>
                  1.44879 (0.0323974s)
                </p>
              </td>
<td>
                <p>
                  1.52094 (0.0867728s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long5"></a><p class="title"><b>Table 1.32. Operator /(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator /(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  5.35966 (0.101822s)
                </p>
              </td>
<td>
                <p>
                  8.88121 (0.190303s)
                </p>
              </td>
<td>
                <p>
                  12.708 (0.717622s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  14.7735 (0.280663s)
                </p>
              </td>
<td>
                <p>
                  22.4928 (0.481967s)
                </p>
              </td>
<td>
                <p>
                  51.6265 (2.91535s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0189978s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0214276s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0564701s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  1.41678 (0.0269157s)
                </p>
              </td>
<td>
                <p>
                  1.6855 (0.0361161s)
                </p>
              </td>
<td>
                <p>
                  1.52543 (0.0861411s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_unsigned_long_long6"></a><p class="title"><b>Table 1.33. Operator /=(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator /=(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  4.84585 (0.125006s)
                </p>
              </td>
<td>
                <p>
                  6.82926 (0.208589s)
                </p>
              </td>
<td>
                <p>
                  10.3294 (0.662579s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  10.7166 (0.276449s)
                </p>
              </td>
<td>
                <p>
                  16.1194 (0.492342s)
                </p>
              </td>
<td>
                <p>
                  44.3971 (2.84786s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0257964s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0305434s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0641451s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  1.50909 (0.0389292s)
                </p>
              </td>
<td>
                <p>
                  1.49032 (0.0455194s)
                </p>
              </td>
<td>
                <p>
                  1.70466 (0.109346s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_construct"></a><p class="title"><b>Table 1.34. Operator construct</b></p>
<div class="table-contents"><table class="table" summary="Operator construct">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00303111s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00357506s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0113051s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  1.00185 (0.00303671s)
                </p>
              </td>
<td>
                <p>
                  1.15155 (0.00411687s)
                </p>
              </td>
<td>
                <p>
                  1.26796 (0.0143345s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  16.5683 (0.0502204s)
                </p>
              </td>
<td>
                <p>
                  14.0851 (0.0503551s)
                </p>
              </td>
<td>
                <p>
                  9.67268 (0.109351s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  28.144 (0.0853075s)
                </p>
              </td>
<td>
                <p>
                  24.8244 (0.0887486s)
                </p>
              </td>
<td>
                <p>
                  10.3544 (0.117058s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_construct_unsigned_long"></a><p class="title"><b>Table 1.35. Operator construct(unsigned long long)</b></p>
<div class="table-contents"><table class="table" summary="Operator construct(unsigned long long)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00524853s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00566609s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0278919s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  2.97185 (0.0155978s)
                </p>
              </td>
<td>
                <p>
                  1.49757 (0.00848537s)
                </p>
              </td>
<td>
                <p>
                  1.03141 (0.0287679s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  10.4626 (0.0549133s)
                </p>
              </td>
<td>
                <p>
                  9.63997 (0.054621s)
                </p>
              </td>
<td>
                <p>
                  3.98862 (0.11125s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  20.7883 (0.109108s)
                </p>
              </td>
<td>
                <p>
                  20.2715 (0.11486s)
                </p>
              </td>
<td>
                <p>
                  5.17847 (0.144437s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_construct_unsigned"></a><p class="title"><b>Table 1.36. Operator construct(unsigned)</b></p>
<div class="table-contents"><table class="table" summary="Operator construct(unsigned)">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00519769s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0054342s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.0275892s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  1.67001 (0.0086802s)
                </p>
              </td>
<td>
                <p>
                  1.5305 (0.00831702s)
                </p>
              </td>
<td>
                <p>
                  1.05641 (0.0291456s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  10.6639 (0.0554274s)
                </p>
              </td>
<td>
                <p>
                  10.2395 (0.0556435s)
                </p>
              </td>
<td>
                <p>
                  4.03533 (0.111332s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  25.0325 (0.130111s)
                </p>
              </td>
<td>
                <p>
                  20.8688 (0.113405s)
                </p>
              </td>
<td>
                <p>
                  6.29649 (0.173715s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.operator_str"></a><p class="title"><b>Table 1.37. Operator str</b></p>
<div class="table-contents"><table class="table" summary="Operator str">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Backend
                </p>
              </th>
<th>
                <p>
                  50 Bits
                </p>
              </th>
<th>
                <p>
                  100 Bits
                </p>
              </th>
<th>
                <p>
                  500 Bits
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  cpp_bin_float
                </p>
              </td>
<td>
                <p>
                  3.98982 (0.00249639s)
                </p>
              </td>
<td>
                <p>
                  5.55423 (0.00505412s)
                </p>
              </td>
<td>
                <p>
                  10.5272 (0.0320983s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  cpp_dec_float
                </p>
              </td>
<td>
                <p>
                  4.83686 (0.00302637s)
                </p>
              </td>
<td>
                <p>
                  4.39789 (0.0040019s)
                </p>
              </td>
<td>
                <p>
                  3.38032 (0.0103068s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  gmp_float
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.000625689s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.000909959s)
                </p>
              </td>
<td>
                <p>
                  <span class="bold"><strong>1</strong></span> (0.00304907s)
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  mpfr_float
                </p>
              </td>
<td>
                <p>
                  1.95049 (0.0012204s)
                </p>
              </td>
<td>
                <p>
                  1.61297 (0.00146774s)
                </p>
              </td>
<td>
                <p>
                  1.52133 (0.00463864s)
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break"><div class="table">
<a name="boost_multiprecision.perf.float_performance.platform"></a><p class="title"><b>Table 1.38. Platform Details</b></p>
<div class="table-contents"><table class="table" summary="Platform Details">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Platform
                </p>
              </th>
<th>
                <p>
                  Linux 5.3.0-24-generic, version #26-Ubuntu SMP Thu Nov 14 01:33:18
                  UTC 2019, x86_64
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  Compiler
                </p>
              </td>
<td>
                <p>
                  GNU C++ version 9.2.1 20191008
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  GMP
                </p>
              </td>
<td>
                <p>
                  6.1.2
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  MPFR
                </p>
              </td>
<td>
                <p>
                  262146
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  Boost
                </p>
              </td>
<td>
                <p>
                  107200
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  Run date
                </p>
              </td>
<td>
                <p>
                  Dec 13 2019
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2002-2020 John
      Maddock and Christopher Kormanyos<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="int_real_world.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="integer_performance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
